public class Test {

    //数字握手问题(50个人中，有7个人没有进行握手)
    public static void main1(String[] args) {
        int ans = 0;
        for (int i = 0; i <= 50 ; ++i) {
            for (int j = i + 1; j <= 50 ; j++) {
                if(i <= 7 && j <= 7){
                    //前7个人不握手
                    ans += 0;
                }else{
                    ans++;
                }
            }
        }
        System.out.println(ans);
    }

    //数字握手问题拓展1(如果2人的编号之和为偶数，则不进行握手)
    public static void main2(String[] args) {
        int ans = 0;
        for (int i = 0; i <= 50 ; i++) {
            for (int j = i + 1; j <= 50  ; j++) {
                if((i + j) % 2 == 0){
                    ans += 0;
                }else{
                    ans++;
                }
            }
        }
        System.out.println(ans);
    }

    //数字握手问题拓展2(如果2人的编号互质，则不进行握手)
    //互质函数：gcd(x,y) == 1 ，则两数互质
    public static void main(String[] args) {
        int ans = 0;
        for (int i = 0; i <= 50 ; i++) {
            for (int j = i + 1; j <= 50  ; j++) {
                if(gcd(i,j) == 1){
                    ans += 0;
                }else{
                    ans++;
                }
            }
        }
        System.out.println(ans);
    }

    private static int gcd(int a, int b) {
        if(b == 0) return a;
        else return gcd(b,a % b);
    }
}
